{
gulong update_handler_id;
gulong layout_handler_id;
+ gulong scale_changed_handler_id;
} GtkNativePrivate;
static GQuark quark_gtk_native_private;
gtk_native_queue_relayout (native);
}
+static void
+scale_changed_cb (GdkSurface *surface,
+ GParamSpec *pspec,
+ GtkNative *native)
+{
+ _gtk_widget_scale_changed (GTK_WIDGET (native));
+}
+
static void
verify_priv_unrealized (gpointer user_data)
{
g_warn_if_fail (priv->update_handler_id == 0);
g_warn_if_fail (priv->layout_handler_id == 0);
+ g_warn_if_fail (priv->scale_changed_handler_id == 0);
g_free (priv);
}
priv->layout_handler_id = g_signal_connect (surface, "layout",
G_CALLBACK (surface_layout_cb),
self);
+
+ priv->scale_changed_handler_id = g_signal_connect (surface, "notify::scale-factor",
+ G_CALLBACK (scale_changed_cb),
+ self);
+
g_object_set_qdata_full (G_OBJECT (self),
quark_gtk_native_private,
priv,
g_clear_signal_handler (&priv->update_handler_id, clock);
g_clear_signal_handler (&priv->layout_handler_id, surface);
+ g_clear_signal_handler (&priv->scale_changed_handler_id, surface);
g_object_set_qdata (G_OBJECT (self), quark_gtk_native_private, NULL);
}